package com.yb.xczx.cloud.content.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yb.core.constant.JSONUtil;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;

/**
 * <p>
 * 课程基本信息
 * </p>
 *
 * @author 姚兵
 * @since 2023-05-07
 */
@Getter
@Setter
@Accessors(chain = true)
@TableName("course_base")
@ApiModel
public class CourseBase {

    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    @ApiModelProperty("主键")
    private Long id;

    /**
     * 机构ID
     */
    @TableField("company_id")
    @ApiModelProperty("机构ID")
    private Long companyId;

    /**
     * 机构名称
     */
    @TableField("company_name")
    @ApiModelProperty("机构名称")
    private String companyName;

    /**
     * 课程名称
     */
    @TableField("name")
    @ApiModelProperty("课程名称")
    private String name;

    /**
     * 适用人群
     */
    @TableField("users")
    @ApiModelProperty("适用人群")
    private String users;

    /**
     * 课程标签
     */
    @TableField("tags")
    @ApiModelProperty("课程标签")
    private String tags;

    /**
     * 大分类
     */
    @TableField("mt")
    @ApiModelProperty("大分类")
    private String mt;

    /**
     * 小分类
     */
    @TableField("st")
    @ApiModelProperty("小分类")
    private String st;

    /**
     * 课程等级
     */
    @TableField("grade")
    @ApiModelProperty("课程等级")
    private String grade;

    /**
     * 教育模式(common普通，record 录播，live直播等）
     */
    @TableField("teachmode")
    @ApiModelProperty("教育模式(common普通，record 录播，live直播等）")
    private String teachmode;

    /**
     * 课程介绍
     */
    @TableField("description")
    @ApiModelProperty("课程介绍")
    private String description;

    /**
     * 课程图片
     */
    @TableField("pic")
    @ApiModelProperty("课程图片")
    private String pic;

    /**
     * 创建时间
     */
    @TableField("create_date")
    @ApiModelProperty("创建时间")
    @DateTimeFormat(pattern = JSONUtil.DATE_TIME_FORMAT)
    @JsonFormat(pattern = JSONUtil.DATE_TIME_FORMAT,timezone="GMT+8")
    private LocalDateTime createDate;

    /**
     * 修改时间
     */
    @TableField("change_date")
    @ApiModelProperty("修改时间")
    @DateTimeFormat(pattern = JSONUtil.DATE_TIME_FORMAT)
    @JsonFormat(pattern = JSONUtil.DATE_TIME_FORMAT,timezone="GMT+8")
    private LocalDateTime changeDate;

    /**
     * 创建人
     */
    @TableField("create_people")
    @ApiModelProperty("创建人")
    private String createPeople;

    /**
     * 更新人
     */
    @TableField("change_people")
    @ApiModelProperty("更新人")
    private String changePeople;

    /**
     * 审核状态
     */
    @TableField("audit_status")
    @ApiModelProperty("审核状态")
    private String auditStatus;

    /**
     * 课程发布状态 未发布  已发布 下线
     */
    @TableField("status")
    @ApiModelProperty("课程发布状态 未发布  已发布 下线")
    private String status;


}
